package com.oop.example.processing;

import com.oop.example.gui.EStatus;

/**
 *
 * @author -
 */
public abstract class EntryDisplay {

    /**
     * Подготовка строки к отображению в таблице
     *
     * @param src исходная строка, вычитанная из файла
     * @param status статус, присовенный статье после парсинга
     * @return обработанная строка
     * @see EntryDisplay#postProcess(java.lang.String)
     * @see EntryDisplay#preProcess(java.lang.String)
     */
    public String prepateToDisplayInTable(String src, EStatus status) {
        String content = preProcess(src);
        if (status == EStatus.PARSED) {
            content = "<body bgcolor=\"#88FF00\">" + content + "<body>";
        } else if (status == EStatus.WARN) {
            content = "<body bgcolor=\"#FFFF00\">" + content + "<body>";
        } else if (status == EStatus.ERROR) {
            content = "<body bgcolor=\"#FF0000\">" + content + "<body>";
        }
        content = "<html>" + content + "</html>";
        return postProcess(content);
    }

    public String prepateToDisplayInTextField(String src) {
        return src;
    }

    public abstract String preProcess(String src);

    public abstract String postProcess(String src);
}
